package com.itheima.service;

import com.itheima.entity.PageResult;
import com.itheima.entity.QueryPageBean;
import com.itheima.pojo.Setmeal;

import java.util.List;
import java.util.Map;

/**
 * 检查套餐的接口
 */
public interface SetmealService {

    /**
     * 添加套餐管理
     * @param setmeal  套餐基本信息
     * @param checkgroupIds  套餐下面所有的检查组
     */
    void add(Setmeal setmeal, Integer[] checkgroupIds);

    /**
     * 体检套餐的分页查询方法
     * @param queryPageBean 传过来的查询页面信息
     * @return 所有的对象
     */
    PageResult findPage(QueryPageBean queryPageBean);


    /**
     * 查询检查套餐的基本信息
     * @param id 检查套餐的id
     * @return
     */
    Setmeal findById(Integer id ,String img);

    /**
     * 通过检查套餐查出首选的检查组
     * @param id 检查套餐的id
     * @return
     */
    List<Integer> findGroupIdsBysetmealId(Integer id);


    /**
     * 修改套餐管理
     *
     * @param setmeal       套餐基本信息
     * @param checkgroupIds 套餐下面所有的检查组
     * @return
     */
    void update(Setmeal setmeal, Integer[] checkgroupIds);

    /**
     * 通过套餐id删除套餐
     * @param id
     */
    void delete(Integer id);

    /**
     * 获取套餐的数据
     * @return 封装所有预约数据的集合
     */
    List<Setmeal> findAll();


    /**
     * 获取套餐详细信息和他的关联信息（检查套餐，检查组，检查项）
     * @return com.itheima.entity.Result
     */
    Setmeal findById1(Integer id);

    /**
     * 查询每种预约的数量
     * @return
     */
    List<Map<String, Object>> findSetmealCount();
}
